iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
生成式 AI

生成式AI輔助電子遊戲製作系列 第 13

Day13 / 利用git進行unity專案的版本管理

  • 分享至 

  • xImage
  •  

在Unity開發中使用版本管理是非常重要的,特別是當團隊協作時,可以追蹤每個人的更改,並管理遊戲開發的不同階段。Fork 是一款Git GUI工具,它為Git版本控制系統提供了一個易於使用的圖形介面,使得管理Unity項目的版本變得更加直觀。

1. 設置Git並安裝Fork

  • 安裝Git:如果你還沒有安裝Git,可以從Git官網下載並安裝。
  • 安裝Fork:到 Fork官網下載並安裝Fork。

2. 開一個新的Git儲存庫

  • 進到GitHub
  • 開一個新的Git專案,需要注意的是Add .gitignore的選項要選到Unity,這樣才會自動生成.gitignore 文件
    https://ithelp.ithome.com.tw/upload/images/20240927/20169512oREmU9o1VB.png

3. 設置.gitignore文件

Unity的專案中會包含一些預設的檔案,在版本管理的時候是不用一起同步的,因此你可以設置一個.gitignore文件,來忽略這些檔案。我是用這個Unity GitHub .gitignore 模板.gitignore設置。

  • 在Unity項目根目錄中創建一個名為.gitignore的文件。

  • 將以下內容貼入該文件(或者使用上面的模板):

    # This .gitignore file should be placed at the root of your Unity project directory
    #
    # Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
    #
    /[Ll]ibrary/
    /[Tt]emp/
    /[Oo]bj/
    /[Bb]uild/
    /[Bb]uilds/
    /[Ll]ogs/
    /[Uu]ser[Ss]ettings/
    
    # MemoryCaptures can get excessive in size.
    # They also could contain extremely sensitive data
    /[Mm]emoryCaptures/
    
    # Recordings can get excessive in size
    /[Rr]ecordings/
    
    # Uncomment this line if you wish to ignore the asset store tools plugin
    # /[Aa]ssets/AssetStoreTools*
    
    # Autogenerated Jetbrains Rider plugin
    /[Aa]ssets/Plugins/Editor/JetBrains*
    
    # Visual Studio cache directory
    .vs/
    
    # Gradle cache directory
    .gradle/
    
    # Autogenerated VS/MD/Consulo solution and project files
    ExportedObj/
    .consulo/
    *.csproj
    *.unityproj
    *.sln
    *.suo
    *.tmp
    *.user
    *.userprefs
    *.pidb
    *.booproj
    *.svd
    *.pdb
    *.mdb
    *.opendb
    *.VC.db
    
    # Unity3D generated meta files
    *.pidb.meta
    *.pdb.meta
    *.mdb.meta
    
    # Unity3D generated file on crash reports
    sysinfo.txt
    
    # Builds
    *.apk
    *.aab
    *.unitypackage
    *.app
    
    # Crashlytics generated file
    crashlytics-build.properties
    
    # Packed Addressables
    /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
    
    # Temporary auto-generated Android Assets
    /[Aa]ssets/[Ss]treamingAssets/aa.meta
    /[Aa]ssets/[Ss]treamingAssets/aa/*
    

4. 使用Fork管理版本

我習慣的是用fork,fork預設是沒有中文的,但他在處理衝突檔案的GUI我比較喜歡。如果想要用中文介面可以用*Sourcetree。*

  • 打開Fork並使用它來載入你剛剛初始化的Unity項目。
    • 點擊「File」>「Open Repository」,然後選擇你的Unity項目目錄。
  • 初次提交
    • 在Fork中,選擇「Changes」標籤,你將看到所有的新文件。
    • 輸入提交訊息,如「Initial commit」,然後點擊「Commit」將當前的項目狀態保存到Git儲存庫。

5. 建立遠端儲存庫(可選)

如果你想在GitHub或GitLab等平台上存儲項目,這是版本管理的重要一步。

  • 在GitHub或GitLab上創建儲存庫
    • 登入你的GitHub帳戶,創建一個新的儲存庫。
  • 連接到遠端儲存庫
    • 在Fork中,選擇「Repository」>「Remote」。
    • 點擊「Add Remote」,並輸入你的遠端儲存庫URL(例如GitHub上的URL)。
  • 推送到遠端儲存庫
    • 提交後,點擊「Push」按鈕將你的更改推送到遠端儲存庫。

6. 分支管理與合併

使用Git進行版本控制時,分支管理是很重要的,特別是在多人協作的開發環境中。

  • 創建新分支
    • 點擊Fork中的「Branch」按鈕,為新功能或修復創建一個新分支。這允許你在不影響主分支的情況下開發新功能。
  • 切換分支
    • 當你想在不同分支上工作時,只需在Fork中選擇所需的分支,然後點擊「Checkout」來切換到該分支。
  • 合併分支
    • 當你完成某個分支的開發時,可以通過Fork中的「Merge」功能將其合併回主分支,這樣你就可以將新功能整合到主版本中。

7. 處理衝突

當不同的開發人員在同一文件上進行修改時,可能會發生衝突。

  • 查看衝突:Fork會標示出衝突的文件,你可以選擇進入「Conflicts」標籤,檢查衝突的內容。
  • 解決衝突:手動選擇要保留的部分或進行修改,並提交修正。

8. 同步與更新

  • 當團隊成員提交新的更改時,你可以在Fork中使用「Pull」功能從遠端儲存庫獲取最新版本,並將其合併到本地分支中。

上一篇
Day 12 / 遊戲介面流程
下一篇
Day 14/寫一些簡單的數據結構
系列文
生成式AI輔助電子遊戲製作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言